using System;

namespace WillStott.MxAppToolbox
{
	/// <summary>
	/// Interface for standard dialog box with Help Support. After adding the new Windows
	/// Form class to your project make the following changes:
	/// <list type="number">
	/// <item><description>Set dialog's Accessibility Name and Description. Leave Role as default unless the dialog's role is different to normal.</description></item>
	/// <item><description>Create a Help topic for the dialog box, say "options.htm" and
	/// add bookmarks for sections relating to controls in dialog, say "name", "address". Document
	/// how dialog is accessed from keyboard only</description></item>
	/// <item><description>Set Help button property true</description></item>
	/// <item><description>Set Minimize and Maximise button property false</description></item>
	/// <item><description>Set ShowInTaskBar property false</description></item>
	/// <item><description>Add Event Handler for HelpRequested as HelpRequest</description></item>
	/// <item><description>Set Tab order for form ( View | Tab Order)</description></item>
	/// <item><description>If you change the Background or Foreground colors provide support for High Contrast mode</description></item>
	/// <item><description>Do not set Font sizes to less than 10 pts</description></item>
	/// <item><description>Do not use Sound alone to convey important information to user</description></item>	 
	/// </list>
	/// When adding controls to the form specify the following properties:
	/// <list type="number">
	/// <item><description>Set Accessibility Name as same name used for the bookmark in the help topic.</description></item> 
	/// <item><description>Give Accessibility Description. </description></item>
	/// <item><description>Leave Accessibility Role as default unless control's role is different to normal.</description></item> 
	/// <item><description>Set Tooltip text</description></item>
	/// <item><description>Add ampersand to Text property for keyboard access or add ampersand to preceding Label's 
	/// text property and set its UseMnemonic propert true</description></item>
	/// <item><description>Add OK and Cancel buttons and set their DialogResult properties to OK and Cancel
	/// also set the Dialog box property AcceptButton and CancelButton</description></item>
	/// </list>
	/// </summary>
	public interface IMxDlgForm
	{
		/// <summary>
		/// Add Event Handler for HelpRequested as HelpRequest
		/// <example>
		/// <code>
		///	public void HelpRequest(object sender, System.Windows.Forms.HelpEventArgs hlpevent)
		///	{
		///		DlgUtils.ShowHelp( this, "Options.htm",  hlpevent);
		///	}
		/// </code>
		/// </example>
		/// <seealso cref="DlgUtils.ShowHelp"/>
		/// </summary>
		/// <param name="sender">Object that generated event</param>
		/// <param name="hlpevent">Info about event</param>
		void HelpRequest(object sender, System.Windows.Forms.HelpEventArgs hlpevent);
	}
}
